from playwright.sync_api import sync_playwright

def run(playwright):
    browser = playwright.chromium.launch(headless=False)
    context = browser.new_context()

    # Open new page
    page = context.new_page()

    # Go to http://localhost:3000/user/login
    page.goto("http://localhost:3000/user/login")

    # Click [placeholder="请输入帐户名 / admin"]
    page.click("[placeholder=\"请输入帐户名 / admin\"]")

    # Fill [placeholder="请输入帐户名 / admin"]
    page.fill("[placeholder=\"请输入帐户名 / admin\"]", "admin")

    # Press Tab
    page.press("[placeholder=\"请输入帐户名 / admin\"]", "Tab")

    # Fill [placeholder="密码 / 123456"]
    page.fill("[placeholder=\"密码 / 123456\"]", "123456")

    # Press Tab
    page.press("[placeholder=\"密码 / 123456\"]", "Tab")

    # Fill [placeholder="请输入验证码"]
    page.fill("[placeholder=\"请输入验证码\"]", "")

    # Click [placeholder="请输入验证码"]
    page.click("[placeholder=\"请输入验证码\"]")

    # Fill [placeholder="请输入验证码"]
    page.fill("[placeholder=\"请输入验证码\"]", "6666")

    # Click button:has-text("确 定")
    page.click("button:has-text(\"确 定\")")


    # Click text=下达动员决心
    page.click("text=下达动员决心")

    # Click ul[role="menu"] div:has-text("动员命令管理")
    page.click("ul[role=\"menu\"] div:has-text(\"动员命令管理\")")

    # Click a:has-text("创建动员命令")
    page.click("a:has-text(\"创建动员命令\")")
    # assert page.url == "http://localhost:3000/deploy/command/CreateCommand"

    # Click button:has-text("选择文件")
    page.click("button:has-text(\"选择文件\")")

    # Click [placeholder="请输入命令名称"]
    page.click("[placeholder=\"请输入命令名称\"]")

    # Fill [placeholder="请输入命令名称"]
    page.fill("[placeholder=\"请输入命令名称\"]", "测试命令")

    # Press Tab
    page.press("[placeholder=\"请输入命令名称\"]", "Tab")

    # Click text=请选择命令来源
    page.click("text=请选择命令来源")

    # Click text=贵州省省联指中心
    page.click("text=贵州省省联指中心")

    # Click textarea
    page.click("textarea")

    # Fill textarea
    page.fill("textarea", "没有命令")

    # Click button:has-text("下一步")
    page.click("button:has-text(\"下一步\")")

    # Click button:has-text("添加任务")
    page.click("button:has-text(\"添加任务\")")

    # Click [placeholder="请输入任务名称"]
    page.click("[placeholder=\"请输入任务名称\"]")

    # Fill [placeholder="请输入任务名称"]
    page.fill("[placeholder=\"请输入任务名称\"]", "测试min")

    # Click [placeholder="请输入任务名称"]
    page.click("[placeholder=\"请输入任务名称\"]")

    # Press a with modifiers
    page.press("[placeholder=\"请输入任务名称\"]", "Control+a")

    # Fill [placeholder="请输入任务名称"]
    page.fill("[placeholder=\"请输入任务名称\"]", "测试Ingles1234")

    # Click label:has-text("任务名称")
    page.click("label:has-text(\"任务名称\")")

    # Click label:has-text("任务名称")
    page.click("label:has-text(\"任务名称\")")

    # Click text=请选择专业名称
    page.click("text=请选择专业名称")

    # Click text=人民武装动员
    page.click("text=人民武装动员")

    # Click textarea
    page.click("textarea")

    # Fill textarea
    page.fill("textarea", "测试内容")

    # Press Tab
    page.press("textarea", "Tab")

    # Fill [placeholder="请输入动员地区"]
    page.fill("[placeholder=\"请输入动员地区\"]", "111111")

    # Click [aria-label="图标: calendar"] svg
    page.click("[aria-label=\"图标: calendar\"] svg")

    # Click text=25
    page.click("text=25")

    # Click button:has-text("确 定")
    page.click("button:has-text(\"确 定\")")

    # Click text=操作编辑删除 >> a
    page.click("text=操作编辑删除 >> a")

    # Click text=命令名称任务名称专业名称请选择专业名称 人民武装动员 任务内容动员地区完成时间 >> [placeholder="请输入任务名称"]
    page.click("text=命令名称任务名称专业名称请选择专业名称 人民武装动员 任务内容动员地区完成时间 >> [placeholder=\"请输入任务名称\"]")

    # Fill text=命令名称任务名称专业名称请选择专业名称 人民武装动员 任务内容动员地区完成时间 >> [placeholder="请输入任务名称"]
    page.fill("text=命令名称任务名称专业名称请选择专业名称 人民武装动员 任务内容动员地区完成时间 >> [placeholder=\"请输入任务名称\"]", "测试Ingles12342")

    # Click :nth-match(button:has-text("确 定"), 2)
    page.click(":nth-match(button:has-text(\"确 定\"), 2)")

    # Click text=设置负责人
    page.click("text=设置负责人")
    # assert page.url == "http://localhost:3000/deploy/command/CreateCommand#"

    # Click text=设为负责人设为负责人设为负责人设为负责人 >> :nth-match(a, 2)
    page.click("text=设为负责人设为负责人设为负责人设为负责人 >> :nth-match(a, 2)")

    # Click button:has-text("预览动员命令")
    page.click("button:has-text(\"预览动员命令\")")

    # Click button:has-text("创建动员命令")
    page.click("button:has-text(\"创建动员命令\")")

    # Go to http://localhost:3000/deploy/command/DeployCmdListIndex?cmdCode=CMD20210324153129323443
    page.goto("http://localhost:3000/deploy/command/DeployCmdListIndex?cmdCode=CMD20210324153129323443")

    # Click :nth-match(:text("任务"), 3)
    page.click(":nth-match(:text(\"任务\"), 3)")
    # assert page.url == "http://localhost:3000/deploy/task/DeployTaskListIndex?cmdCode=CMD20210324153129323443"

    # Click text=预案制定中(95)
    page.click("text=预案制定中(95)")

    # ---------------------
    context.close()
    browser.close()

with sync_playwright() as playwright:
    run(playwright)